package com.gzsxy.syn;

import java.util.ArrayList;

//线程不安全的集合
public class UnsafeList {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        //主线程main线程速度会很快，Thread线程还没跑完，主线程就完了
        // for循环执行了很多个 thread线程才添加了一个进入list
        for (int i = 0; i < 1000; i++) {
            new Thread(() -> {
                //当加了synchronized锁上之后，就必须会添加进去，当锁释放后for循环进入下一个，
                synchronized (list) {
                    list.add(Thread.currentThread().getName());
                }

            }).start();
        }

        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println(list.size());

    }
}